<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">
    /*
     *变量的声明提前
     *使用var关键字声明的变量 ，会在所有的代码执行之前被声明
     *所以var a=13;就算是放在最后面，a的变量也会被提前声明
     *但如果声明变量不使用var当做关键字，则变量不会被声明提前
     *
     * 函数的声明提前
     * 使用函数声明星石创建的函数function 函数名()
     * {
     * }
     * 他会在所有的代码执行之前就会被创建，执行的优先级比较高，所以我们可以在函数声明前就直接调用它
     * 使用函数表达式创建的函数，不会被声明提前，所以不能在声明前调用
     * var声明函数的时候，不能进行先调用，因为他只提前声明了变量，没有赋值函数
     */
    //是否用var声明的区别
    /*
    console.log(a);
    a=123;
    console.log(b);
    var b=123;
    */
    fun();
    fun2();//次数fun2是变量，但是fun2()函数调用就会报错
    //函数声明，会被提前创建
    function fun()
    {
        console.log("我是一个fun函数");
    }
    //函数表达式，不会被提前创建
    var fun2=function()
    {
        console.log("我是fun2函数");
    }
    </script>
</head>
<body>
    
</body>
</html>